// /**
//  * 从等待拖拽数组的节点们开始拖拽
//  * 如果落点是等待释放数组的节点，执行回调
//  *
//  * 用法：1.需要在此节点上挂载使该节点全屏的Widget组件，以便接收触摸事件
//  */
// cc.Class({
//     extends: cc.Component,
//
//     properties: {
//         waitDragNodes:{
//             default:[],
//             tooltip:"等待拖拽的节点们",
//             type:cc.Node
//         },
//
//         dragEndNodes:{
//             default:[],
//             tooltip:"可以拖拽到这些节点上",
//             type:cc.Node
//         }
//     },
//
//     /**
//      * 开始拖拽任意节点时调用的回调
//      * @param cb
//      */
//     setStartDragCb:function (cb) {
//         this.startDragCb = cb
//     },
//
//     /**
//      * 拖拽到任意落点时调用的回调
//      * @param cb要接收两个参数，1拖拽的节点，2拖拽到的节点
//      */
//     setDragEndCb:function (cb) {
//         this.dragEndCb = cb
//     },
//
//     setDragEndFailCb:function (cb) {
//         this.dragEndFailCb = cb
//     },
//
//     onLoad () {
//         this.node.on(cc.Node.EventType.TOUCH_START,this._onDragItemMgrTouchBegin.bind(this),this);
//         this.node.on(cc.Node.EventType.TOUCH_MOVE,this._onDragItemMgrTouchMoving.bind(this),this);
//         this.node.on(cc.Node.EventType.TOUCH_END,this._onDragItemMgrTouchEnd.bind(this),this);
//         this.node.on(cc.Node.EventType.TOUCH_CANCEL,this._onDragItemMgrTouchCancel.bind(this),this);
//
//         //test
//         this.setStartDragCb(function (dragNode) {
//             dragNode.active = false
//         }.bind(this))
//
//         this.setDragEndCb(function (dragNode,putToNode) {
//             putToNode.destroy()
//             dragNode.destroy()
//         }.bind(this))
//
//         this.setDragEndFailCb(function (dragNode) {
//             dragNode.active = true
//         }.bind(this))
//     },
//
//     start () {
//
//     },
//
//     // update (dt) {},
//
//     _onDragItemMgrTouchBegin:function (event) {
//         cc.log("拖拽开始")
//
//         let touchPos = event.getLocation()
//
//         for(let i=0;i<this.waitDragNodes.length;i++){
//             let tmpNode = this.waitDragNodes[i]
//             if(!cc.isValid(tmpNode,true))
//                 continue
//
//             let tmpBoundingBox = tmpNode.getBoundingBoxToWorld()
//             // let tmpWorldPos = tmpNode.parent.convertToWorldSpaceAR(tmpNode.position)
//             // let tmpLocalPos = this.node.convertToNodeSpaceAR(tmpWorldPos)
//
//             if (tmpBoundingBox.contains(touchPos)) {
//                 this.dragingNode = tmpNode
//                 if(this.startDragCb){
//                     this.startDragCb(tmpNode)
//                 }
//                 this.cloneDragItemToDrag(tmpNode)
//                 break
//             }
//         }
//     },
//
//     _onDragItemMgrTouchMoving:function (event) {
//         cc.log("拖拽移动中")
//         if(!this.draggingSymbol){
//             return
//         }
//
//         let delta = event.getDelta()
//
//         this.draggingSymbol.x += delta.x
//         this.draggingSymbol.y += delta.y
//     },
//
//     _onDragItemMgrTouchEnd:function (event) {
//         cc.log("拖拽end")
//         let touchPos = event.getLocation()
//
//         let putSuccess = false
//
//         for(let i=0;i<this.dragEndNodes.length;i++){
//             let tmpNode = this.dragEndNodes[i]
//             if(!cc.isValid(tmpNode,true))
//                 continue
//
//             let tmpBoundingBox = tmpNode.getBoundingBoxToWorld()
//
//             if (tmpBoundingBox.contains(touchPos)) {
//                 if(this.dragEndCb){
//                     this.dragEndCb(this.dragingNode,tmpNode)
//                 }
//                 this.dragingNode = null
//                 this.clearDragItemToDrag(tmpNode)
//                 putSuccess = true
//                 break
//             }
//         }
//
//         if(!putSuccess){
//             if(this.dragingNode){
//                 if(this.dragEndFailCb){
//                     this.dragEndFailCb(this.dragingNode)
//                 }
//                 this.dragingNode = null
//                 this.clearDragItemToDrag()
//             }
//         }
//     },
//
//     _onDragItemMgrTouchCancel:function (event) {
//         cc.log("拖拽cancel")
//         this._onDragItemMgrTouchEnd(event)
//     },
//
//     cloneDragItemToDrag:function (dragNode) {
//         let newDragNode = cc.instantiate(dragNode)
//         newDragNode.active = true
//
//         this.node.addChild(newDragNode)
//         this.draggingSymbol = newDragNode
//     },
//
//     clearDragItemToDrag:function () {
//         if(!this.draggingSymbol)
//             return
//
//         if(!cc.isValid(this.draggingSymbol,true))
//             return
//
//         this.draggingSymbol.destroy()
//         this.draggingSymbol = null
//     },
// });
